Robot Actuator Utilizing a Differential Pulley Transmission

ABSTRACT

An example robot actuator utilizing a differential pulley transmission is provided. As an example, a differential pulley actuator includes input drive gears for coupling to a motor and timing pulleys coupled together through the input drive gears. Rotation of the input drive gears causes rotation of a first timing pulley in a first direction and rotation of a second timing pulley in a second direction opposite the first direction. The actuator also includes multiple idler pulleys suspended between the timing pulleys and the output pulley, and the multiple idler pulleys are held in tension between the timing pulleys via a first tension-bearing element and the output pulley via a second tension-bearing element. The first tension-bearing element loops around the timing pulleys and the multiple idler pulleys. The output pulley couple to a load, and is configured to apply motion of the multiple idler pulleys to the load.

CROSS-REFERENCE TO RELATED APPLICATION

The present application is a continuation of U.S. patent applicationSer. No. 14/191,819, filed on Feb. 27, 2014, which claims priority toU.S. Patent Application Ser. No. 61/838,735, filed on Jun. 24, 2013, theentire contents of each of which are herein incorporated by reference.

BACKGROUND

Unless otherwise indicated herein, the materials described in thissection are not prior art to the claims in this application and are notadmitted to be prior art by inclusion in this section.

Electric motor actuators for robotic and automation systems oftenrequire a transmission (speed reducer) in order to operate within thespeed-torque requirements of a specific application and of the motor.Commonly used systems include multi-stage gearboxes, timing belts, cabledrive, harmonic drives, and cycloid gearboxes. These systems are oftentoo inefficient, susceptible to overload damage, heavy, and requireexpensive precision manufacturing. Such systems are also often tooexpensive for consumer products when high performance is required.

As an example, harmonic drive systems can be used in high performanceapplications where low backlash and gear-ratios greater than 50:1 arerequired. The harmonic drive is proprietary, heavy, inefficient, andexpensive for consumer application. Other cable drive systems can belightweight and efficient; however, non-trivial transmission ratios maylead to complex multi-stage designs that require high preload forces andchallenging cable management. Often it is desired to integrate a torquesensor such as a strain gauge load cell into the transmission in orderto achieve closed loop torque control. Practically, integration of thissensor can prove challenging as the sensor wires typically rotate withthe transmission output, and therefore, require cable management.

SUMMARY

In one example, a differential pulley actuator is provided thatcomprises one or more input drive gears for coupling to a motor, and theone or more input drive gears couple rotation of the motor to rotationof an output pulley. The differential pulley actuator also includes oneor more timing belt pulleys coupled together through the one or moreinput drive gears, and rotation of the one or more input drive gearscauses rotation of a first timing belt pulley in a first direction androtation of a second timing belt pulley in a second direction oppositethe first direction. The differential pulley actuator also includesmultiple idler pulleys suspended between the one or more timing beltpulleys and the output pulley, and the multiple idler pulleys are heldin tension between the one or more timing belt pulleys via a firsttension-bearing element and the output pulley via a secondtension-bearing element. The first tension-bearing element loops aroundthe one or more timing belt pulleys and the multiple idler pulleys. Thedifferential pulley actuator also includes the output pulley forcoupling to a load, and the output pulley couples to the multiple idlerpulleys via the second tension-bearing element looping around the outputpulley and is configured to apply motion of the multiple idler pulleysto the load.

In another example, a differential pulley actuator is provided thatcomprises an input drive gear for coupling to a motor, and the inputdrive gear couples rotation of the motor to rotation of an outputpulley. The differential pulley actuator also includes a first timingbelt pulley pair and a second timing belt pulley pair coupled to theinput drive gear, and rotation of the input drive gear causes rotationof the first timing belt pulley pair and the second timing belt pulleypair. The differential pulley actuator also includes a first idlerpulley element suspended between the first timing belt pulley pair andthe output pulley and held in tension to the first timing belt pulleypair via a first tension-bearing element and to the output pulley via asecond tension-bearing element. The differential pulley actuator alsoincludes a second idler pulley element suspended between the secondtiming belt pulley pair and the output pulley and held in tension to thesecond timing belt pulley pair via a third tension-bearing element andto the output pulley via the second tension-bearing element. Thedifferential pulley actuator further includes the output pulley forcoupling to a load, and the output pulley couples to the first idlerpulley element and the second idler pulley element via the secondtension-bearing element looping around the output pulley and isconfigured to apply motion of the first idler pulley element and thesecond idler pulley element to the load.

In another example, a differential pulley actuator is provided thatcomprises a first input drive gear for coupling to a motor, and thefirst input drive gear couples rotation of the motor to rotation of anoutput pulley. The differential pulley actuator also include a firsttiming belt pulley pair coupled to the first input drive gear, androtation of the first input drive gear causes rotation of the firsttiming belt pulley pair. The differential pulley actuator also includesa first idler pulley element suspended between the first timing beltpulley pair and the output pulley and held in tension to the firsttiming belt pulley pair via a first tension-bearing element and to theoutput pulley via a second tension-bearing element. The differentialpulley actuator also includes a second input drive gear for coupling tothe motor, and the second input drive gear couples rotation of the motorto rotation of the output pulley. The differential pulley actuator alsoincludes a second timing belt pulley pair coupled to the second inputdrive gear, and rotation of the second input drive gear causes rotationof the second timing belt pulley pair. The differential pulley actuatoralso includes a second idler pulley element suspended between the secondtiming belt pulley pair and the output pulley and held in tension to thesecond timing belt pulley pair via a third tension-bearing element andto the output pulley via the second tension-bearing element. Thedifferential pulley actuator also includes the output pulley forcoupling to a load, and the output pulley couples to the first idlerpulley element and the second idler pulley element via the secondtension-bearing element looping around the output pulley and isconfigured to apply motion of the first idler pulley element and thesecond idler pulley element to the load.

In still other examples, methods and computer program products includinginstructions executable by a device or by one or more processors toperform functions of the methods are provided. The methods may beexecutable for operating a differential pulley actuator, for example.

These as well as other aspects, advantages, and alternatives, willbecome apparent to those of ordinary skill in the art by reading thefollowing detailed description, with reference where appropriate to theaccompanying figures.

BRIEF DESCRIPTION OF THE FIGURES

FIGS. 1A-1D illustrate an example differential pulley actuator. FIG. 1Aillustrates a top perspective view of the example differential pulleyactuator, FIG. 1B illustrates a bottom perspective view of the exampledifferential pulley actuator, FIG. 1C illustrates a top view of theexample differential pulley actuator, and FIG. 1D illustrates a sideview of the example differential pulley actuator.

FIGS. 2A-2D illustrate the example differential pulley actuator of FIGS.1A-1D in a staggered position. FIG. 2A illustrates a top perspectiveview of the example differential pulley actuator, FIG. 2B illustrates abottom perspective view of the example differential pulley actuator,FIG. 2C illustrates a top view of the example differential pulleyactuator, and FIG. 2D illustrates a side view of the exampledifferential pulley actuator, each in a staggered position.

FIGS. 3A-3D illustrate an example timing pulley and timing belt. FIG. 3Aillustrates a top view of the example timing pulley and timing belt,FIG. 3B illustrates a side view of the example timing pulley and timingbelt, FIG. 3C illustrates a top perspective view of the example timingpulley and timing belt, and FIG. 3D illustrates a bottom perspectiveview of the example timing pulley and timing belt.

FIGS. 4A-4B illustrate another example differential pulley actuator.FIG. 4A illustrates a top perspective view of the example differentialpulley actuator, and FIG. 4B illustrates a top view of the exampledifferential pulley actuator.

FIGS. 5A-5E illustrate another example differential pulley actuator in anominal position. FIG. 5A illustrates a side view of the exampledifferential pulley actuator, FIG. 5B illustrates a bottom view of theexample differential pulley actuator, FIG. 5C illustrates an end view ofthe example differential pulley actuator, FIG. 5D illustrates a sideperspective view of the example differential pulley actuator, and FIG.5E illustrates a bottom perspective view of the example differentialpulley actuator.

FIGS. 6A-6E illustrate the differential pulley actuator of FIGS. 5A-5Ein a staggered position. FIG. 6A illustrates a side view of the exampledifferential pulley actuator, FIG. 6B illustrates a bottom view of theexample differential pulley actuator, FIG. 6C illustrates an end view ofthe example differential pulley actuator, FIG. 6D illustrates a sideperspective view of the example differential pulley actuator, and FIG.6E illustrates a bottom perspective view of the example differentialpulley actuator.

FIGS. 7A-7E illustrate another example differential pulley actuator in anominal position. FIG. 7A illustrates a side view of the exampledifferential pulley actuator, FIG. 7B illustrates a bottom view of theexample differential pulley actuator, FIG. 7C illustrates an end view ofthe example differential pulley actuator, FIG. 7D illustrates a sideperspective view of the example differential pulley actuator, and FIG.7E illustrates a bottom perspective view of the example differentialpulley actuator.

FIG. 8 is a block diagram illustrating an example system for control ofa differential pulley actuator.

FIG. 9 illustrates a schematic drawing of an example computing device.

FIG. 10 is a flowchart illustrating an example method for operating adifferential pulley actuator.

DETAILED DESCRIPTION

The following detailed description describes various features andfunctions of the disclosed systems and methods with reference to theaccompanying figures. In the figures, similar symbols identify similarcomponents, unless context dictates otherwise. The illustrative systemand method embodiments described herein are not meant to be limiting. Itmay be readily understood that certain aspects of the disclosed systemsand methods can be arranged and combined in a wide variety of differentconfigurations, all of which are contemplated herein.

The differential pulley, also known as a windlass, may be configured toprovide a mechanical advantage for lifting objects. A differentialpulley includes a cable, rope, chain, belt, or other flexibletension-bearing device wrapped around two input drive pulleys ofdifferent radius (e.g., r1 and r2), and an output pulley, restingagainst a loop made in the flexible tension-bearing device, supports anoutput load. As the input drive pulleys are turned (e.g., at a rate w1),a tension-bearing device velocity entering and leaving the output pulleydiffers by a factor proportional to the difference in radius. Thisresults in a translation of the output pulley and the load byv=w1*(r2−r1)/2. In this way, an example mechanical advantage can bechosen by selecting a difference in pulley radius.

Electric motors to rotate the drive pulleys may be efficient whenoperating at high speed and low torque. However, in a specificapplication of robotic actuators, typically high torques and low speedsare desired. Thus, electric motor robotic actuators may require atransmission with a non-trivial gear reduction to reduce a speed of themotor and increase a torque output. Such transmission technologiesexist, including a spur gearbox, planetary gearbox, lead or ball screw,and Harmonic Drive gearheads. Such transmissions, however, may have lowefficiency, high cost, high weight, backlash, low gear ratios, and/orlow impact and load capacity. These example characteristics may makesuch transmissions undesired for robotic actuators that require highperformance servo control in a lightweight, low-cost mechanism such as arobot manipulator.

Within examples, systems, devices, and differential pulley actuators aredescribed for obtaining output motion of a joint (e.g., such as robotjoint) given rotary input of a motor (e.g., electric motor) with adifferential pulley employed between the input and output. In someexamples, a continuous loop tension-bearing element (e.g., belt, chain,cable, etc.) is utilized in the differential pulley such that apull-pull linear motion may be generated between two idler pulleys. Thismotion can then be applied to an output load in a rotary or linearmotion.

Referring now to the figures, FIGS. 1A-1D illustrate an exampledifferential pulley actuator 100. FIG. 1A illustrates a top perspectiveview of the example differential pulley actuator 100, FIG. 1Billustrates a bottom perspective view of the example differential pulleyactuator 100, FIG. 1C illustrates a top view of the example differentialpulley actuator 100, and FIG. 1D illustrates a side view of the exampledifferential pulley actuator 100.

The differential pulley actuator 100 includes input drive gears 102 a-bfor coupling to a motor 104. The input drive gears 102 a-b couplerotation of the motor 104 to rotation of an output pulley 106. Thedifferential pulley actuator 100 also includes timing belt pulleys 108a-b, and the timing belt pulley 108 a couples to the input drive gear102 a and the timing belt pulley 108 b couples to the input drive gear102 b. Rotation of the input drive gears 102 a-b causes rotation of oneof the timing belt pulleys 108 a-b in a direction and rotation of theother timing belt pulley in an opposite direction. The timing beltpulleys 108 a-b may have different radiuses, which is required to createa gear reduction, for example. For example, the timing belt pulley 108 bmay have a smaller radius than the timing belt pulley 108 a.

The differential pulley actuator 100 also includes idler pulleys 110 a-bsuspended between the timing belt pulleys 108 a-b and the output pulley106. The idler pulleys 110 a-b are held in tension between the timingbelt pulleys 108 a-b via a tension-bearing element 112 and the outputpulley 106 via another tension-bearing element 114. The tension-bearingelement 112 may be an endless timing belt that loops around the timingbelt pulleys 108 a-b and the idler pulleys 110 a-b. The othertension-bearing element 114 may be a timing belt enabling the outputpulley 106 to couple to the idler pulleys 110 a-b by looping around theoutput pulley 106. The output pulley 106 couples to a load (not shown)and is configured to apply motion of the idler pulleys 110 a-b to theload. A differential or other mechanism may be attached to the outputpulley 106 to provide a multiple degree of freedom (DOF) joint.

The tension-bearing elements 112 and 114 may be any of a belt, a toothedbelt, a chain, a cable, a string or other material as needed for anapplication of the differential pulley actuator 100. For example, a loadcapacity of the differential pulley actuator 100 may be limited only tothe strength of the tension-bearing elements 112 and 114, and thus, amaterial for the tension-bearing elements 112 and 114 can be selectedappropriately.

The idler pulleys 110 a-b are mounted within holders 116 a-b, and thetension-bearing element 114 couples to the holders 116 a-b using screwsor other attachment mechanisms. The holders 116 a-b allow the idlerpulleys 110 a-b to rotate on freely.

The differential pulley actuator 100 may also including a motor piniongear 118 coupled to the motor 104 and the drive gear 102 a for causingrotation of the drive gear 102 a.

In an example operation, the drive gears 102 a-b are driven by the motor104 using the motor pinion gear 118. The drive gears 102 a-b may havethe same radius, but each timing belt pulley 108 a-b may have adifferent radius (e.g., timing belt pulley 108 a may have a largerradius than timing belt pulley 108 b) so that driving both timing beltpulleys 108 a-b at a same rate creates a difference in speed between thetiming belt pulleys 108 a-b creating a pull in one direction on theidler pulleys 110 a-b to drive the output pulley 106. Thus, rotation ofthe motor 104 (e.g., rate Wm) causes rotation of the timing belt pulley108 a (e.g., at rate Wa, radius Ra) and rotation of the timing beltpulley 108 b in an opposite direction (e.g., at rate Wb, radius Rb). Thetension-bearing element 112 is looped around the timing belt pulleys 108a-b and the idler pulleys 110 a-b. The idler pulleys 110 a-b are free tomove and are held in tension using the tension-bearing elements 112 and114. Each idler pulley 110 a-b then translates at a rate in equal andopposite directions of the following:

$V = {\pm \frac{\left( {{{Wa} \times {Ra}} - {{Wb} \times {Rb}}} \right)}{2}}$

A difference in rotation speed between the timing belt pulleys 108 a-bcreates a pull in a direction on one of the idler pulleys 110 a-b topull the tension-bearing element 114 and drive the output pulley 106.

Within examples, a pull-pull type linear motion is created by the idlerpulleys 110 a-b and can be used in rotary joints and linear actuators.For instance, the tension-bearing element 114 (e.g., drive-belt)attaches to the output pulley 106 that is driven at a rate Wd and hasradius Rd, to which an actuator load may be attached. A gear-ratio ofthe differential pulley actuator 100 is a ratio

$N = {\frac{Wm}{Wd} = {{Wm} \times \frac{Rd}{V}}}$

The timing belt pulleys 108 a-b provide a differential gear-ratiobetween the motor 104 and the timing belt pulleys 108 a-b. Thus, amechanical advantage N can be designed from 1:1 to nearly infinite:1, insome examples. In example uses, a rotary robot transmission may utilizea range of about N=30:1 to 1000:1. The differential pulley actuator 100can thus achieve a wide range of gear-ratios, and has a load capacitylimited only to the belt strength. The differential pulley actuator 100also has low backlash, which may only be present in a single gear stage.The tension-bearing elements 112 and 114 have zero backlash.

FIG. 1C illustrates a top view of the differential pulley actuator 100,and illustrates that the motor 104, the input drive gears 102 a-b (andthe timing belt pulleys 108 a-b) may be held fixed in space mounted toframe 120. The output pulley 106 may also be mounted to the frame 120 aswell. The frame 120 may be any type of housing and may be configured asan endoskeleton structure in which the differential pulley actuator 100is mounted on an exterior of the frame 120, or as an exoskeleton inwhich the differential pulley actuator 100 is mounted within a clamshelltype structure.

In FIG. 1C, the differential pulley actuator 100 is also shown toinclude a motor encoder 122 coupled to the motor 104 to determine aposition of the motor 122 and enable a control loop to control positionof the output pulley 106. The motor encoder 122 may couple to aprocessor 124 through a communication bus 126. The processor 124 mayreceive outputs of the motor encoder 122 to determine a position of themotor 122 and control a position of the output pulley 106 by controllingan input current to the motor 104, for example.

In FIG. 1C, the differential pulley actuator 100 is also shown toinclude a force sensor 128 coupled to the output pulley 106. In otherexamples, tensile force sensors could be placed between the holder 116 aand the tension-bearing element 114 and between the holder 116 b and thetension-bearing element 114 to measure a tension of the tension-bearingelement 114. The processor 124 may receive outputs of the force sensor128 (e.g., which may be a capacitive sensor, a tension sensor, etc.) tocontrol an input to the motor 104 based a force or tension in thetension-bearing element 120, for example.

FIGS. 2A-2D illustrate the example differential pulley actuator 100 in astaggered position. FIG. 2A illustrates a top perspective view of theexample differential pulley actuator 100, FIG. 2B illustrates a bottomperspective view of the example differential pulley actuator 100, FIG.2C illustrates a top view of the example differential pulley actuator100, and FIG. 2D illustrates a side view of the example differentialpulley actuator 100, each in a staggered position.

As shown in FIGS. 2A-2D, the tension-bearing element 112 creates apull-pull linear motion between the idler pulleys 110 a-b based onrotation of the motor 104. For example, the tension-bearing element 112causes movement of the idler pulleys 110 a-b due to rotation of thetiming belt pulleys 108 a-b, and the movement of the idler pulleys 110a-b causes rotation of the output pulley 106 through pulling of thetension-bearing element 114 by the idler pulleys 110 a-b. As shown inFIGS. 2A-2D, the movement of the idler pulleys 110 a-b includes theidler pulley 110 a moving toward the output pulley 106 and the idlerpulley 110 b moving away from the output pulley 106. Such movementcauses the tension-bearing element 114 to rotate the output pulley 106.

The idler pulleys 110 a-b are held in tension and floating in space. Insome examples, the idler pulleys 110 a-b could be guided to move in aparticular direction, for instance by a linear guide. Thus, inoperation, the differential pulley actuator 100 may be designed toprovide sufficient space between the idler pulleys 110 a-b so thatduring movement, the idler pulleys 110 a-b do not contact each other. Adesign can be used to provide sufficient range of motion to drive thetransmission. For a larger range of motion, more space may be needed. Inaddition, a majority of the weight of the differential pulley actuator100 is at one end of the actuator including the motor 104 and inputdrive gears 102 a-b. In an example use, for a robot arm (e.g., bicep),weight may be configured as at a shoulder positioned, and an output atan elbow position, and thus, the differential pulley actuator 100 mayprovide an advantageous configuration to position the majority of theweight at one end.

FIGS. 3A-3D illustrate an example timing pulley 302 and timing belt 304.FIG. 3A illustrates a top view of the example pulley 302 and belt 304,FIG. 3B illustrates a side view of the example pulley 302 and belt 304,FIG. 3C illustrates a top perspective view of the example pulley 302 andbelt 304, and FIG. 3D illustrates a bottom perspective view of theexample pulley 302 and belt 304.

In FIGS. 3A-3D the pulley 302 includes teeth, and the belt 304 is atoothed belt that interlocks to the teeth of the pulley 302. The pulley304 may be any of the pulleys in FIGS. 1A-1D and FIGS. 2A-2D, and thebelt 304 may be either or both of the tension-bearing elements 112 and114, for example.

The belt 304 has a specific tooth profile and enables accuratepositioning on the pulley 302 along with an ability to efficientlytransfer high loads, for example. For example, the tooth profile of thebelt 304 matches the tooth profile of the pulley 302 to match togetherfor zero backlash.

FIGS. 4A-4B illustrate another example differential pulley actuator 400.FIG. 4A illustrates a top perspective view of the example differentialpulley actuator 400, and FIG. 4B illustrates a top view of the exampledifferential pulley actuator 400.

The differential pulley actuator 400 includes a motor pulley 402 forcoupling to a motor 404 through a timing belt 406. The timing belt 406wraps around the motor pulley 402 and a motor gear 408. The motor pulley402 couples rotation of the motor 404 to rotation of an output pulley410. The differential pulley actuator 400 also includes drive pulleys412 a-b, and the drive pulleys 412 a-b couple to the motor pulley 402.Rotation of the motor pulley 402 causes rotation of the drive pulleys412 a-b. The drive pulleys 412 a-b may have different radiuses. Forexample, the drive pulley 412 a may have a smaller radius than the drivepulley 412 b.

The differential pulley actuator 400 also includes idler pulleys 414 a-bsuspended between the drive pulleys 412 a-b and the output pulley 410.The idler pulleys 414 a-b are held in tension between the drive pulleys412 a-b via a tension-bearing element 416 and the output pulley 410 viaanother tension-bearing element 418. The tension-bearing element 416 maybe an endless string that loops around the drive pulleys 412 a-b and theidler pulleys 414 a-b. The other tension-bearing element 418 may be adrive string enabling the output pulley 410 to couple to the idlerpulleys 414 a-b by looping around the output pulley 410. The outputpulley 410 couples to a load (not shown) and is configured to applymotion of the idler pulleys 414 a-b to the load. A differential or othermechanism may be attached to the output pulley 410 to provide a multipledegree of freedom (DOF) joint.

The idler pulleys 414 a-b are mounted within holders 420 a-b, and thetension-bearing element 418 couples to the holders 420 a-b using screwsor other attachment mechanisms. The holders 420 a-b allow the idlerpulleys 414 a-b to rotate on pins.

The tension-bearing elements 416 and 418 may be a string, wire, cable,or other material as needed for an application of the differentialpulley actuator 400. The tension-bearing element 416 may be an endlessloop cable manufactured from a low-stretch high strength material, suchas Vectran or steel. The drive pulleys 412 a-b may be attached into asingle unit because the tension-bearing elements 416 and 418 can bendout of a rotation plane and pass past each-other. This enables a morecompact, zero-backlash design.

The drive pulleys 412 a-b may be threaded or include grooves, and thetension-bearing element 416 may be a cable that wraps around the drivepulleys 412 a-b into threads to cause rotation of the output pulley 410in a first direction and unwraps from the drive pulleys 412 a-b to causerotation of the output pulley 410 in a second direction. Thus, the drivepulleys 412 a-b wrap up to drive in one direction (e.g., wrapping arounda few times), and wraps down or oppositely to drive in the otherdirection.

The idler pulleys 414 a-b are floating in space and held by tensionbetween the drive pulleys 412 a-b and the output pulley 410. Thus, inoperation, as the idler pulleys 414 a-b move back and forth, the idlerpulleys 414 a-b change angles, possibly vibrate, and may contact eachother. A layout of the idler pulleys 414 a-b should be provided toenable enough space to operate freely. A diameter of the output pulley410 may be increased to provide more space. An amount of space neededmay depend on a size of a load to drive, for example.

Similarly to the differential pulley actuator 100 in FIGS. 1A-1D andFIGS. 2A-2D, the differential pulley actuator 400 in FIGS. 4A-4B mayalso include a servo control loop added to the motor 404 to control anoutput position based on a motor position, a force sensor attached to atransmission output and a force control loop closed between the motor404 and the load and transmission elasticity can be modeled and used toestimate a load position or load force, and the cable may be replacedwith a toothed belt, a chain, a steel band, or other flexible member.

FIGS. 5A-5E illustrate another example differential pulley actuator 500.FIG. 5A illustrates a side view of the example differential pulleyactuator 500, FIG. 5B illustrates a bottom view of the exampledifferential pulley actuator 500, FIG. 5C illustrates an end view of theexample differential pulley actuator 500, FIG. 5D illustrates a sideperspective view of the example differential pulley actuator 500, andFIG. 5E illustrates a bottom perspective view of the exampledifferential pulley actuator 500. FIGS. 5A-5E illustrate thedifferential pulley actuator 500 in a nominal position.

The differential pulley actuator 500 includes an input drive gear 502for coupling to a gear 504 of a motor 506. The input drive gear 502couples rotation of the motor 506 to rotation of an output pulley 508.The differential pulley actuator 500 also includes a first timing beltpulley pair 510 a-b and a second timing belt pulley pair 512 a-b coupledto the input drive gear 502. Rotation of the input drive gear 502 causesrotation of the first timing belt pulley pair 510 a-b and the secondtiming belt pulley pair 512 a-b. The differential pulley actuator 500also includes a first idler pulley element 514 suspended between thefirst timing belt pulley pair 510 a-b and the output pulley 508 and heldin tension to the first timing belt pulley pair 510 a-b via atension-bearing element 516 and to the output pulley 508 via atension-bearing element 518. The differential pulley actuator 500 alsoincludes a second idler pulley element 520 suspended between the secondtiming belt pulley pair 512 a-b and the output pulley 508 and held intension to the second timing belt pulley pair 512 a-b via atension-bearing element 522 and to the output pulley 508 via thetension-bearing element 518.

The output pulley 508 couples to a load (not shown). The tension-bearingelement 518 loops around the output pulley 508, and the output pulley508 is configured to apply motion of the first idler pulley element 514and the second idler pulley element 520 to the load. A differential orother mechanism may be attached to the output pulley 508 to provide amultiple degree of freedom (DOF) joint.

The first idler pulley element 514 includes a frame 524 that couples tothe tension-bearing element 518, and multiple pulleys 526 a-b couple tothe frame 524. The tension-bearing element 516 loops around the multiplepulleys 526 a-b. Similarly, the second idler pulley element 520 includesa frame 528 that couples to the tension-bearing element 518, andmultiple pulleys 530 a-b couple to the frame 528. The tension-bearingelement 522 loops around the multiple pulleys 530 a-b.

Within examples, the differential pulley actuator 500 includes the firsttiming belt pulley pair 510 a-b coupled to the input drive gear 502, andthe second timing belt pulley pair 512 a-b couples to the first timingbelt pulley pair 510 a-b such that the first timing belt pulley pair 510a-b and the second timing belt pulley pair 512 a-b are coupled in serialin a stacked configuration. In addition, the configuration of thedifferential pulley actuator 500 is such that input drive gear 502 andthe output pulley 508 each rotate about respective axes that areperpendicular to each other.

FIGS. 6A-6E illustrate the differential pulley actuator 500 in astaggered position. FIG. 6A illustrates a side view of the exampledifferential pulley actuator 500, FIG. 6B illustrates a bottom view ofthe example differential pulley actuator 500, FIG. 6C illustrates an endview of the example differential pulley actuator 500, FIG. 6Dillustrates a side perspective view of the example differential pulleyactuator 500, and FIG. 6E illustrates a bottom perspective view of theexample differential pulley actuator 500.

Within examples, in operation of the differential pulley actuator 500,rotation of the first timing belt pulley pair 510 a-b in one directioncauses the tension-bearing element 516 to wind onto a first pulley 510 bof the first timing belt pulley pair 510 a-b and unwind from a secondpulley 510 a of the first timing belt pulley pair 510 a-b. Similarly,rotation of the second timing belt pulley pair 5112 a-b causes thetension-bearing element 522 to wind onto a first pulley 512 b of thesecond timing belt pulley pair 512 a-b and unwind from a second pulley512 a of the second timing belt pulley pair 512 a-b. Rotation of thefirst timing belt pulley pair 510 a-b and the second timing belt pulleypair 512 a-b causes movement of the first idler pulley element 514 andthe second idler pulley element 520 toward and away from the outputpulley 508 resulting in the tension-bearing element 518 being pulled torotate the output pulley 508.

The examples shown in FIGS. 6A-6E illustrate the first idler pulleyelement 514 moving away from the output pulley 508 and the second idlerpulley element 520 moving toward the output pulley 508 resulting in thefirst idler pulley element 514 and the second idler pulley element 520being in a staggered position.

The differential pulley actuator 500 includes a dual design with thefirst timing belt pulley pair 510 a-b and the second timing belt pulleypairs 512 a-b. Rotation causes winding up on one pulley of each pair andwinding down on the other pulley of each pair. The two separate idlerassemblies (the first idler pulley element 514 and the second idlerpulley element 520) are driven back and forth. There is a singlerotating assembly (e.g., input drive gear 502) as opposed to two, whichrequires fewer bearings and may be simpler to manufacture.

FIGS. 7A-7E illustrate another example differential pulley actuator 700in a nominal position. FIG. 7A illustrates a side view of the exampledifferential pulley actuator 700, FIG. 7B illustrates a bottom view ofthe example differential pulley actuator 700, FIG. 7C illustrates an endview of the example differential pulley actuator 700, FIG. 7Dillustrates a side perspective view of the example differential pulleyactuator 700, and FIG. 7E illustrates a bottom perspective view of theexample differential pulley actuator 700.

The differential pulley actuator 700 includes a first input drive gear702 for coupling to a motor 704 and the first input drive gear 702couples rotation of the motor 704 to rotation of an output pulley 706.The differential pulley actuator 700 includes a first timing belt pulleypair 708 a-b coupled to the first input drive gear 702, and rotation ofthe first input drive gear 702 causes rotation of the first timing beltpulley pair 708 a-b. The differential pulley actuator 700 also includesa first idler pulley element 710 suspended between the first timing beltpulley pair 708 a-b and the output pulley 706 and held in tension to thefirst timing belt pulley pair 708 a-b via a tension-bearing element 712and to the output pulley 706 via another tension-bearing element 714.

The differential pulley actuator 700 also includes another input drivegear 716 for coupling to the motor 704, and the input drive gear 716couples rotation of the motor 704 to rotation of the output pulley 706.The differential pulley actuator 700 includes a second timing beltpulley pair 718 a-b coupled to the input drive gear 716, and rotation ofthe input drive gear 716 causes rotation of the second timing beltpulley pair 718 a-b. The differential pulley actuator 700 furtherincludes a second idler pulley element 720 suspended between the secondtiming belt pulley pair 718 a-b and the output pulley 706 and held intension to the second timing belt pulley pair 718 a-b via atension-bearing element 722 and to the output pulley 706 via thetension-bearing element 714.

The output pulley 706 couples to a load (not shown) and the outputpulley 706 couples to the first idler pulley element 710 and the secondidler pulley element 720 via the tension-bearing element 706 loopingaround the output pulley 706. The output pulley 706 is configured toapply motion of the first idler pulley element 710 and the second idlerpulley element 720 to the load. A differential or other mechanism may beattached to the output pulley 706 to provide a multiple degree offreedom (DOF) joint.

The first idler pulley element 710 and the second idler pulley element720 may contain similar components. In FIG. 7A, the second idler pulleyelement 720 is shown to include a frame 724 that couples to thetension-bearing element 714, and multiple pulleys 726 a-b that couple tothe frame 724. The tension-bearing element 722 loops around the multiplepulleys 726 a-b.

The input drive gears 702 and 716 couple to a gear 728 of the motor 704.The configuration of the differential pulley actuator 700 in FIGS. 7A-7Eis such that the first timing belt pulley pair 708 a-b and the secondtiming belt pulley pair 718 a-b are positioned in a side by sideconfiguration, or a parallel configuration, and the motor 704 ispositioned between the first timing belt pulley pair 708 a-b and thesecond timing belt pulley pair 718 a-b.

Within examples, in operation of the differential pulley actuator 700,rotation of the first timing belt pulley pair 708 a-b causes thetension-bearing element 712 to wind onto a first pulley 708 a of thefirst timing belt pulley pair 708 a-b and unwind from a second pulley708 b of the first timing belt pulley pair 708 a-b. Rotation of thesecond timing belt pulley pair 718 a-b causes the tension-bearingelement 722 to wind onto a first pulley 718 a of the second timing beltpulley pair 718 a-b and unwind from a second pulley 718 b of the secondtiming belt pulley pair 718 a-b.

In addition, rotation of the first timing belt pulley pair 708 a-b andthe second timing belt pulley pair 718 a-b causes movement of the firstidler pulley element 710 and the second idler pulley element 720 towardand away from the output pulley 706 resulting in the tension-bearingelement 714 being pulled to rotate the output pulley 706.

The differential pulley actuator 700 is provided in a configuration suchthat the input drive gears 702 and 716 and the output pulley 706 eachrotate about respective axes that are parallel. The first timing beltpulley pair 708 a-b and the second timing belt pulley pair 718 a-b areupright with respect to the output pulley 706.

FIG. 8 is a block diagram illustrating an example system for control ofa differential pulley actuator. As shown in FIG. 8, an encoder 802 maycouple to a motor 804 that drives a differential pulley actuator 806. Atension or force sensor 808 determines a tension sensor measurement,F_(id), and outputs the tension sensor measurement to a controller 810.Another encoder 812 may couple to an output pulley of the differentialpulley actuator 806 to sense a joint angle, Θ_(j), or load position. Theencoders 802 and 812 may be optical encoders, Hall effect sensors, orother capacitive angle sensors, for example. The differential pulleyactuator 806 may be controlled by the motor amplifier 810 that receivesas inputs Θ_(m), the motor angle, the tension sensor measurement,F_(id), and optionally Θ_(j), the joint angle, and outputs a commandedmotor winding current, I, as a function of these inputs according to acontrol law module 814. The motor winding current, I, causes the motor804 to drive the differential pulley actuator 806 for an output torque,T_(q), that is applied to a load 816.

The control law module 814 may transform state variables into commandcurrent to motor. A full state control or measure of a full state of thesystem (e.g., motor position with encoder, motor velocity, motoracceleration, joint position with encoder, output torque with loadcells) can be utilized as a linear combination to calculate the commandcurrent. A servo-loop is created around tensor sensor values for torqueapplied at a joint. The control law module 814 may operate as a knownproportional integral derivative (PID) module, for example. A PIDcontroller may include a control loop feedback mechanism that calculatesan error value as a difference between a measured process variable and adesired set point. The PID controller attempts to minimize the error byadjusting process control outputs. The PID controller algorithm mayinvolve three separate constant parameters, including the proportional,the integral, and the derivative values, denoted P, I, and D. Thesevalues can be interpreted in terms of time: P depends on the presenterror, I on accumulation of past errors, and D is a prediction of futureerrors, based on current rate of change. A weighted sum of these threeactions is used to adjust a process via a control element such as theoutput torque to be applied.

The control law module 814, or other components of the design in FIG. 8,may represent a module, a segment, or a portion of program code, whichincludes one or more instructions executable by a processor forimplementing specific logical functions or steps in the process. Theprogram code may be stored on any type of computer readable medium, forexample, such as a storage device including a disk or hard drive. Thecomputer readable medium may include a non-transitory computer readablemedium, for example, such as computer-readable media that stores datafor short periods of time like register memory, processor cache andRandom Access Memory (RAM). The computer readable medium may alsoinclude non-transitory media, such as secondary or persistent long termstorage, like read only memory (ROM), optical or magnetic disks,compact-disc read only memory (CD-ROM), for example. The computerreadable media may also be any other volatile or non-volatile storagesystems. The computer readable medium may be considered a computerreadable storage medium, a tangible storage device, or other article ofmanufacture, for example.

The control law module 814, or other components of the design in FIG. 8,may also be a computing device (or components of a computing device suchas one or more processors), that may execute instructions to performfunctions as described herein.

FIG. 9 illustrates a schematic drawing of an example computing device900. In some examples, some components illustrated in FIG. 9 may bedistributed across multiple computing devices. However, for the sake ofexample, the components are shown and described as part of one exampledevice 900. The device 900 may be or include a mobile device, desktopcomputer, tablet computer, or similar device that may be configured toperform the functions described herein.

The device 900 may include an interface 902, sensor(s) 904, data storage906, and a processor 908. Components illustrated in FIG. 9 may be linkedtogether by a communication link 910. The communication link 910 isillustrated as a wired connection; however, wireless connections mayalso be used. The device 900 may also include hardware to enablecommunication within the device 900 and between the client device 900and another computing device (not shown), such as a server entity. Thehardware may include transmitters, receivers, and antennas, for example.

The interface 902 may be configured to allow the device 900 tocommunicate with another computing device (not shown), such as a server.Thus, the interface 902 may be configured to receive input data from oneor more computing devices, and may also be configured to send outputdata to the one or more computing devices. The interface 902 may also beconfigured to receive input from and provide output to a torquecontrolled actuator or modular link of a robot arm, for example. Theinterface 902 may include a receiver and transmitter to receive and senddata. In other examples, the interface 902 may also include auser-interface, such as a keyboard, microphone, touchscreen, etc., toreceive inputs as well.

The sensor 904 may include one or more sensors, or may represent one ormore sensors included within the device 900. Example sensors include anaccelerometer, gyroscope, pedometer, light sensors, microphone, camera,or other location and/or context-aware sensors that may collect data ofthe differential pulley actuator (e.g., motion of timing belt pulleys oridlers) and provide the data to the data storage 906 or processor 908.

The processor 908 may be configured to receive data from the interface902, sensor 904, and data storage 906. The data storage 906 may storeprogram logic 912 that can be accessed and executed by the processor 908to perform functions executable to determine instructions for operationof the differential pulley actuator. Example functions includedetermination of motor current based on sensed tension in timing belts,output torque, and optionally angular displacements of output pulleysbased on a control loop or other feedback mechanism to determine desiredoutput torques. Any functions described herein, or other examplefunctions for the differential pulley actuator may be performed by thedevice 900 or one or more processors 908 of the device via execution ofinstructions stored on the data storage 906 or otherwise received.

The device 900 is illustrated to include an additional processor 914.The processor 914 may be configured to control other aspects of thedevice 900 including displays or outputs of the device 900 (e.g., theprocessor 914 may be a GPU). Example methods described herein may beperformed individually by components of the device 900, or incombination by one or all of the components of the device 900. In oneinstance, portions of the device 900 may process data and provide anoutput internally in the device 900 to the processor 914, for example.In other instances, portions of the device 900 may process data andprovide outputs externally to other computing devices.

Within some examples herein, operations may be described as methods forperforming functions, and methods may be embodied on a computer programproduct (e.g., a tangible computer readable storage medium ornon-transitory computer readable medium) that includes instructionsexecutable to perform the functions.

FIG. 10 is a flowchart illustrating an example method 1000 for operatinga differential pulley actuator. At block 1002, the method 1000 includesproviding input drive gears for coupling to a motor and for couplingrotation of the motor to rotation of an output pulley. At block 1004,the method 1000 includes causing rotation of the input drive gears torotate a first timing belt pulley in a first direction and a secondtiming belt pulley in a second direction opposite the first direction.At block 1006, the method 1000 includes suspending multiple idlerpulleys between the timing belt pulleys and the output pulley. Themultiple idler pulleys are held in tension between the one or moretiming belt pulleys via a first tension-bearing element and the outputpulley via a second tension-bearing element, and the firsttension-bearing element loops around the one or more timing belt pulleysand the multiple idler pulleys. At block 1008, the method 1000 includesthe output pulley applying motion of the multiple idler pulleys to aload.

The differential pulley actuator described in FIGS. 1-10 above may beused in many implementations. Example implementations include a modularrobot link or actuator system.

It should be understood that arrangements described herein are forpurposes of example only. As such, those skilled in the art willappreciate that other arrangements and other elements (e.g. machines,interfaces, functions, orders, and groupings of functions, etc.) can beused instead, and some elements may be omitted altogether according tothe desired results. Further, many of the elements that are describedare functional entities that may be implemented as discrete ordistributed components or in conjunction with other components, in anysuitable combination and location, or other structural elementsdescribed as independent structures may be combined.

While various aspects and embodiments have been disclosed herein, otheraspects and embodiments will be apparent to those skilled in the art.The various aspects and embodiments disclosed herein are for purposes ofillustration and are not intended to be limiting, with the true scopebeing indicated by the following claims, along with the full scope ofequivalents to which such claims are entitled. It is also to beunderstood that the terminology used herein is for the purpose ofdescribing particular embodiments only, and is not intended to belimiting.

What is claimed is:
 1. A differential pulley actuator comprising: an input drive gear for coupling to a motor, wherein the input drive gear couples rotation of the motor to rotation of an output pulley; a first timing belt pulley pair and a second timing belt pulley pair coupled to the input drive gear, wherein rotation of the input drive gear causes rotation of the first timing belt pulley pair and the second timing belt pulley pair; a first idler pulley element suspended between the first timing belt pulley pair and the output pulley and held in tension to the first timing belt pulley pair via a first tension-bearing element and to the output pulley via a second tension-bearing element; a second idler pulley element suspended between the second timing belt pulley pair and the output pulley and held in tension to the second timing belt pulley pair via a third tension-bearing element and to the output pulley via the second tension-bearing element; and the output pulley for coupling to a load, wherein the output pulley couples to the first idler pulley element and the second idler pulley element via the second tension-bearing element looping around the output pulley and is configured to apply motion of the first idler pulley element and the second idler pulley element to the load.
 2. The differential pulley actuator of claim 1, wherein: rotation of the first timing belt pulley pair causes the first tension-bearing element to wind onto a first pulley of the first timing belt pulley pair and unwind from a second pulley of the first timing belt pulley pair; and rotation of the second timing belt pulley pair causes the third tension-bearing element to wind onto a first pulley of the second timing belt pulley pair and unwind from a second pulley of the second timing belt pulley pair.
 3. The differential pulley actuator of claim 1, wherein: rotation of the first timing belt pulley pair and the second timing belt pulley pair causes movement of the first idler pulley element and the second idler pulley element toward and away from the output pulley resulting in the second tension-bearing element being pulled to rotate the output pulley.
 4. The differential pulley actuator of claim 1, wherein the first timing belt pulley pair couples to the input drive gear and the second timing belt pulley pair couples to the first timing belt pulley pair such that the first timing belt pulley pair and the second timing belt pulley pair are coupled in serial in a stacked configuration.
 5. The differential pulley actuator of claim 1, wherein the input drive gear and the output pulley are provided in a configuration to each rotate about respective axes, wherein the respective axes are perpendicular.
 6. The differential pulley actuator of claim 1, wherein the first idler pulley element comprises: a frame coupled to the second tension-bearing element; and multiple pulleys coupled to the frame, wherein the first tension-bearing element loops around the multiple pulleys.
 7. The differential pulley actuator of claim 1, wherein the first timing belt pulley pair and the second timing belt pulley pair provide a differential gear-ratio between the motor and the first timing belt pulley pair and the second timing belt pulley pair.
 8. The differential pulley actuator of claim 1, wherein the first tension-bearing element and the second tension-bearing element comprise one of a belt, a chain, or a cable.
 9. The differential pulley actuator of claim 1, wherein the first timing belt pulley pair and the second timing belt pulley pair include teeth, and wherein the first tension-bearing element comprises a toothed belt that interlocks to the teeth of the first timing belt pulley pair and the second timing belt pulley pair.
 10. The differential pulley actuator of claim 1, further comprising: a motor; and a motor encoder coupled to the motor to determine a position of the motor and enable a control loop to control position of the output pulley.
 11. The differential pulley actuator of claim 1, further comprising a motor; a force sensor coupled to the output pulley; and a processor to control an input to the motor based on an output from the force sensor.
 12. A differential pulley actuator comprising: a first input drive gear for coupling to a motor, wherein the first input drive gear couples rotation of the motor to rotation of an output pulley; a first timing belt pulley pair coupled to the first input drive gear, wherein rotation of the first input drive gear causes rotation of the first timing belt pulley pair; a first idler pulley element suspended between the first timing belt pulley pair and the output pulley and held in tension to the first timing belt pulley pair via a first tension-bearing element and to the output pulley via a second tension-bearing element; a second input drive gear for coupling to the motor, wherein the second input drive gear couples rotation of the motor to rotation of the output pulley; a second timing belt pulley pair coupled to the second input drive gear, wherein rotation of the second input drive gear causes rotation of the second timing belt pulley pair; a second idler pulley element suspended between the second timing belt pulley pair and the output pulley and held in tension to the second timing belt pulley pair via a third tension-bearing element and to the output pulley via the second tension-bearing element; and the output pulley for coupling to a load, wherein the output pulley couples to the first idler pulley element and the second idler pulley element via the second tension-bearing element looping around the output pulley and is configured to apply motion of the first idler pulley element and the second idler pulley element to the load.
 13. The differential pulley actuator of claim 12, further comprising: a motor; and wherein the first timing belt pulley pair and the second timing belt pulley pair are positioned in a side by side configuration, and the motor is positioned between the first timing belt pulley pair and the second timing belt pulley pair.
 14. The differential pulley actuator of claim 12, wherein: rotation of the first timing belt pulley pair causes the first tension-bearing element to wind onto a first pulley of the first timing belt pulley pair and unwind from a second pulley of the first timing belt pulley pair; and rotation of the second timing belt pulley pair causes the third tension-bearing element to wind onto a first pulley of the second timing belt pulley pair and unwind from a second pulley of the second timing belt pulley pair.
 15. The differential pulley actuator of claim 12, wherein: rotation of the first timing belt pulley pair and the second timing belt pulley pair causes movement of the first idler pulley element and the second idler pulley element toward and away from the output pulley resulting in the second tension-bearing element being pulled to rotate the output pulley.
 16. The differential pulley actuator of claim 12, wherein the first input drive gear, the second input drive gear, and the output pulley are provided in a configuration to each rotate about respective axes, wherein the respective axes are parallel.
 17. The differential pulley actuator of claim 12, wherein the first tension-bearing element and the second tension-bearing element comprise one of a belt, a chain, or a cable.
 18. The differential pulley actuator of claim 12, further comprising: a motor; and a motor encoder coupled to the motor to determine a position of the motor and enable a control loop to control position of the output pulley.
 19. The differential pulley actuator of claim 12, further comprising a motor; a force sensor coupled to the output pulley; and a processor to control an input to the motor based on an output from the force sensor.
 20. The differential pulley actuator of claim 12, wherein the first timing belt pulley pair and the second timing belt pulley pair provide a differential gear-ratio between the motor and the first timing belt pulley pair and the second timing belt pulley pair. 